package org.zhuxian.cn.entity.DTO;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Data
@ApiModel(description = "配装方案数据传输对象")
public class EquipmentBuildsDTO {
    @ApiModelProperty(value = "用户ID", example = "10001")
    private Long userId;

    @ApiModelProperty(value = "职业类型", example = "御剑")
    private String buildClass;

    @ApiModelProperty(value = "门派", example = "青云")
    private String buildSchool;

    @ApiModelProperty(value = "配装方案名称", example = "青云御剑速切流")
    private String buildName;

    @ApiModelProperty(value = "装备配置列表")
    private List<EquipmentBuild> equipmentBuilds;

    @ApiModelProperty(value = "法宝id")
    private Integer aMagicWeaponId;

    @ApiModelProperty(value = "天书")
    private SkillTree skillTree;

    @ApiModelProperty(value = "法宝等级属性")
    private String talismanLevelAttribute;

    @ApiModelProperty(value = "星魄")
    private String starSpirit;

    @ApiModelProperty(value = "套装融合")
    private String setFusion;

    @ApiModelProperty(value = "天辰属性")
    private String galaxyAttribute;

    @ApiModelProperty(value = "随机属性")
    private String randomValue;

    @Data
    @ApiModel(description = "装备配置详情")
    public static class EquipmentBuild {
        @ApiModelProperty(value = "装备类型", example = "1", notes = "1:武器, 2:衣服, 3:护腕等")
        private int type;

        @ApiModelProperty(value = "装备ID", example = "1001")
        private int equipmentId;

        @ApiModelProperty(value = "灌注符ID列表")
        private List<InlayId> InlayId;
    }

    @Data
    @ApiModel(description = "灌注符ID信息")
    public static class InlayId {
        @ApiModelProperty(value = "灌注符ID", example = "1")
        private int id;
    }

    @Data
    @ApiModel(description = "天书信息")
    public static class SkillTree {
        @ApiModelProperty(value = "会心", example = "1")
        private Integer criticalStrike;

        @ApiModelProperty(value = "调息", example = "1")
        private Integer recovery;

        @ApiModelProperty(value = "专精", example = "1")
        private Integer expertise;

        @ApiModelProperty(value = "防御", example = "1")
        private Integer defense;

        @ApiModelProperty(value = "气血", example = "1")
        private Integer hp;
    }


}
